Automatic Interprocedural Optimization for Object-oriented Languages
نویسنده
چکیده
The structure of object-oriented programs diiers from that of procedural programs, requiring special compilation techniques to obtain eeciency. Object-orientation introduce additional layers of abstraction which separate the implementations of data structures and algorithms from their points of use. The result is smaller functions, increased data dependence of control ow, and an increase in potential aliasing. We present an automatic interprocedural optimization framework, which resolves these diierences through interprocedural analysis and transformation; enabling a dynamically-typed pure object-oriented language to match the performance of C on a set of standard procedural benchmarks. For two standard object-oriented benchmarks we also compare this framework to the supplied annotations (e.g. inline, virtual and templates) for the hybrid OO-procedural language C++ 51], and show that the framework obtains up to 6 times the performance of the annotated C++ code.
منابع مشابه
On Interprocedural Data Flow Analysis for Object Oriented Languages
As object oriented languages ease software construction significantly, these languages are very promising candidates for parallelizing compilers. To combine the advantages of object oriented programming with the power of parallel processing two major problems have to be solved: the virtual function and the class scope problem. We present solutions to these problems a n d exemplify them by exten...
متن کاملThe impact of interprocedural class analysis on optimization
The runtime performance of object-oriented languages often suffers due to the overhead of dynamic dispatching. In order to make these languages competitive with traditional languages, optimizing compilers attempt to eliminate as many of the dynamic dispatches as possible. A variety of local and intraprocedural techniques have been developed to do this, but they can be ineffective when they are ...
متن کاملReconciling Responsiveness with Performance in Pure Object-Oriented Languages
Dynamically-dispatched calls often limit the performance of object-oriented programs since object-oriented programming encourages factoring code into small, reusable units, thereby increasing the frequency of these expensive operations. Frequent calls not only slow down execution with the dispatch overhead per se, but more importantly they hinder optimization by limiting the range and effective...
متن کاملObject-Oriented Method for Automatic Extraction of Road from High Resolution Satellite Images
As the information carried in a high spatial resolution image is not represented by single pixels but by meaningful image objects, which include the association of multiple pixels and their mutual relations, the object based method has become one of the most commonly used strategies for the processing of high resolution imagery. This processing comprises two fundamental and critical steps towar...
متن کاملWhole-Program Optimization of Object-Oriented Languages
Whole-Program Optimization of Object-Oriented Languages by Jeffrey Adgate Dean Chairperson of the Supervisory Committee: Professor Craig Chambers Department of Computer Science and Engineering This dissertation examines the use of whole-program optimization as a way of improving the performance of object-oriented programming languages. Although object-oriented programming conveys a number of so...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1996